CMAKE_MINIMUM_REQUIRED (VERSION 3.10)
PROJECT (LSR)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_BUILD_TYPE DEBUG)
#set(CMAKE_CONFIGURATION_TYPES "Release")
#set(CMAKE_CONFIGURATION_TYPES "Debug")

set(HEADERS
	include/GRender.h
	include/GWindow.h
	include/inc.h
	include/GScene.h
	include/GModel.h
	include/GCamera.h
	include/GShader.h
	include/GMaterial.h
	include/GTexture.h
	include/tgaimage.h
	shader/phong_shader.h
	shader/pbr_shader.h
	include/OBJ_Loader.h
	)

set(SOURCES
	src/GRender.cpp
	src/GWindow.cpp
	src/LSR.cpp
	src/GScene.cpp
	src/GModel.cpp
	src/GCamera.cpp
	src/GShader.cpp
	src/GMaterial.cpp
	src/GTexture.cpp
	src/tgaimage.cpp
	shader/phong_shader.cpp
	shader/pbr_shader.cpp
)

add_executable(ZLSR ${SOURCES} ${HEADERS})
target_include_directories(ZLSR PUBLIC 
	"${PROJECT_SOURCE_DIR}"
	"${PROJECT_SOURCE_DIR}/include"
	"${PROJECT_SOURCE_DIR}/shader"
	"${PROJECT_SOURCE_DIR}/eigen")
set_directory_properties(PROPERTIES VS_STARTUP_PROJECT ZLSR)
source_group(TREE "${CMAKE_SOURCE_DIR}" FILES ${HEADERS} ${SOURCES})